在上一篇前言提到 AlexNet 是一個歷史分水嶺,這是由於在 AlexNet 之前,Deep Learning 已經沈寂很久,而在2012年的 ImageNet 圖像分類競賽中,AlexNet top-5 錯誤率比上一年的冠軍下降了 10%,至此 CNN 開始受到研究者的强烈關注,在這年之後 ImageNet 的冠軍一直是 CNN。
以下將探討論文《ImageNet Classification with Deep Convolutional Neural Networks》來解析 AlexNet 成功的原因。
AlexNet 的架構共八層,第一層到第五層是 Convolutional Layers 做卷積操作(Convolution Operation)與池化(Pooling);第六層到第八層是 Fully Connected Layers。
雖然現在來看它的網絡架構並不深,但在當年已經是個大突破了,下面整理出 AlexNet 的特點,同時也是它成功的原因:
梯度消失
的缺點會讓神經網絡很難被優化。圖片來源:https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6
而 ReLU 的優點在於:
論文中的這張圖顯示 ReLU 快速收歛的特性:
降低 Overfitting 的方法:
AlexNet 使用 Dropout 和 Data augmentation 這兩種方法來降低 Overfitting,我在[精進魔法] Regularization:減少 Overfitting ,提高模型泛化能力 中有提過這兩者的概念,這邊說明 AlexNet 的應用。
Dropout
在 AlexNet 中,第六層和第七層的全連階層使用 Dropout,配置為 0.5,表示每個神經元有 50% 的機率不參與下一層的傳遞。這種技術迫使神經網絡需要學習更為穩健的特徵,因此可有效降低 Overfitting。
Data augmentation
AlexNet 的處理分為兩種方式:
大數據訓練
百萬數量級的 ImageNet 圖像數據所訓練出來的模型。
GPU實現
AlexNet 在訓練時用了兩塊 GTX 580 GPU,由於內存 3GB 仍不足以處理如此大量的資料,因此神經網絡分成上下兩層,一塊 GPU 處理一部分的數據,並在中間部分層做溝通。
以上這些技術到現在依然是很好用的方法,這也難怪有些人稱 AlexNet 的出現簡直就是王者歸來,重新帶回深度學習的榮耀。
不正經的題外話:說到王者就想到《Overlord 不死者之王》,喜歡主角威能的人可以來看這部!
圖片來源:http://acg.92ylq.com/anime/overlord/